package com.gep.controlador.manager.AcMovPecas;

import java.util.Date;
import java.util.List;

import javax.naming.InitialContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.zkoss.zk.ui.Executions;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Window;

import com.gep.controlador.util.Mensagem;
import com.gep.dto.EquipamentoDTO;
import com.gep.session.EquipamentoBORemota;
import com.gep.session.PecaBORemota;
import com.gep.session.manager.GerencialBORemota;

public class ControladorBuscaAcMovPecas extends Window {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public EquipamentoBORemota equipamentoBORemota;

	public GerencialBORemota gerencialBORemota;

	public ControladorBuscaAcMovPecas() {
		try {
			InitialContext ctx;

			ctx = new InitialContext();
			this.equipamentoBORemota = (EquipamentoBORemota) ctx
					.lookup("ejb/gep/EquipamentoBORemota");
			this.gerencialBORemota = (GerencialBORemota) ctx
					.lookup("ejb/gep/GerencialBORemota");
		} catch (Exception exp) {
			exp.printStackTrace(System.out);
		}

	}

	public void buscar() {
		Datebox dateBoxInicio = (Datebox) this.getFellow("dataInicial");
		Datebox dateBoxFinal = (Datebox) this.getFellow("dataFinal");
		Combobox equipamento = (Combobox) this.getFellow("equipamento");

		if (dateBoxFinal.getValue() != null && dateBoxInicio != null) {
			Date dataInicio = dateBoxInicio.getValue();
			Date dataFinal = dateBoxFinal.getValue();
			EquipamentoDTO equipamentoDTO = null;
			equipamentoDTO = (EquipamentoDTO) equipamento.getSelectedItem()
					.getValue();
			List<Object[]> listaObjetos = gerencialBORemota
					.acompanharSaidaDePecas(dataInicio, dataFinal,
							equipamentoDTO);
			if (listaObjetos.size() != 0 && listaObjetos != null) {
				HttpServletRequest request = (HttpServletRequest) Executions
						.getCurrent().getNativeRequest();
				HttpSession session = request.getSession(false);
				session.setAttribute("dadosAcMovPecas", listaObjetos);
				Executions
						.sendRedirect("/zul/gerencial/acompanharMovPecas/acMovPecas.zul");
			} else {
				Mensagem.BUSCA_NAO_ENCONTRADA();
			}
		} else {
			Mensagem.PREENCHER_CAMPOS();
		}
	}

}
